<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:l="clr-namespace:Chem4Word.UI.UIControls">

	<SolidColorBrush x:Key="SearchTextBox_Background" Color="White" />
	<SolidColorBrush x:Key="SearchTextBox_Foreground" Color="Black" />
	<LinearGradientBrush x:Key="SearchTextBox_Border" StartPoint="0,0" EndPoint="0,1">
		<GradientStop Color="#FFABADB3" Offset="0.05" />
		<GradientStop Color="#FFE2E3EA" Offset="0.07" />
		<GradientStop Color="#FFE3E9EF" Offset="1" />
	</LinearGradientBrush>
	<LinearGradientBrush x:Key="SearchTextBox_BorderMouseOver" StartPoint="0,0" EndPoint="0,1">
		<GradientStop Color="#FF5C97C1" Offset="0.05" />
		<GradientStop Color="#FFB9D7EB" Offset="0.07" />
		<GradientStop Color="#FFC7E2F1" Offset="1" />
	</LinearGradientBrush>
	<SolidColorBrush x:Key="SearchTextBox_SearchIconBorder" Color="White" />
	<SolidColorBrush x:Key="SearchTextBox_SearchIconBackground" Color="White" />
	<LinearGradientBrush x:Key="SearchTextBox_SearchIconBorder_MouseOver" StartPoint="0,0" EndPoint="0,1">
		<GradientStop Color="#FFFFFFFF" Offset="0" />
		<GradientStop Color="#FFE5F4FC" Offset="1" />
	</LinearGradientBrush>
	<LinearGradientBrush x:Key="SearchTextBox_SearchIconBackground_MouseOver" StartPoint="0,0" EndPoint="0,1">
		<GradientStop Color="#FFE7F5FD" Offset="0" />
		<GradientStop Color="#FFD2EDFC" Offset="0.5" />
		<GradientStop Color="#FFB6E3FD" Offset="0.51" />
		<GradientStop Color="#FF9DD5F3" Offset="1" />
	</LinearGradientBrush>
	<LinearGradientBrush x:Key="SearchTextBox_SearchIconBorder_MouseDown" StartPoint="0,0" EndPoint="0,1">
		<GradientStop Color="#FFFFFFFF" Offset="0" />
		<GradientStop Color="#FFE5F4FC" Offset="1" />
	</LinearGradientBrush>
	<LinearGradientBrush x:Key="SearchTextBox_SearchIconBackground_MouseDown" StartPoint="0,0" EndPoint="0,1">
		<GradientStop Color="#FFE7F5FD" Offset="0" />
		<GradientStop Color="#FFD2EDFC" Offset="0.5" />
		<GradientStop Color="#FFB6E3FD" Offset="0.51" />
		<GradientStop Color="#FF9DD5F3" Offset="1" />
	</LinearGradientBrush>
	<SolidColorBrush x:Key="SearchTextBox_LabelTextColor" Color="Gray" />

	<Style x:Key="{x:Type l:SearchTextBox}" TargetType="{x:Type l:SearchTextBox}">
		<Setter Property="Background" Value="{StaticResource SearchTextBox_Background}" />
		<Setter Property="BorderBrush" Value="{StaticResource SearchTextBox_Border}" />
		<Setter Property="Foreground" Value="{StaticResource SearchTextBox_Foreground}" />
		<Setter Property="BorderThickness" Value="1" />
		<Setter Property="SnapsToDevicePixels" Value="True" />
		<Setter Property="LabelText" Value="Search" />
		<Setter Property="FocusVisualStyle" Value="{x:Null}" />
		<Setter Property="LabelTextColor" Value="{StaticResource SearchTextBox_LabelTextColor}" />
		<Setter Property="Template">
			<Setter.Value>
				<ControlTemplate TargetType="{x:Type l:SearchTextBox}">
					<Border x:Name="Border" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}">
						<Grid x:Name="LayoutGrid">
							<Grid.ColumnDefinitions>
								<ColumnDefinition Width="*" />
								<ColumnDefinition Width="{Binding RelativeSource={RelativeSource TemplatedParent},
                                                  Path=ActualHeight}" />
							</Grid.ColumnDefinitions>
							<ScrollViewer Margin="2" x:Name="PART_ContentHost" Grid.Column="0" />
							<Label x:Name="LabelText" Margin="2" Grid.Column="0" Foreground="{Binding RelativeSource={RelativeSource TemplatedParent},
                                          Path=LabelTextColor}" Content="{Binding RelativeSource={RelativeSource TemplatedParent},
                                       Path=LabelText}" Padding="2,0,0,0" FontStyle="Italic" />
							<Border x:Name="PART_SearchIconBorder" Grid.Column="1" BorderThickness="1" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" BorderBrush="{StaticResource SearchTextBox_SearchIconBorder}" Background="{StaticResource SearchTextBox_SearchIconBackground}">
								<Image x:Name="SearchIcon" Stretch="None" Width="15" Height="15" HorizontalAlignment="Center" VerticalAlignment="Center" Source="pack://application:,,,/Chem4Word.UI;component/Resources/Images/search.png" />
							</Border>
						</Grid>
					</Border>
					<ControlTemplate.Triggers>
						<Trigger Property="IsMouseOver" Value="True">
							<Setter Property="BorderBrush" Value="{StaticResource SearchTextBox_BorderMouseOver}" />
						</Trigger>
						<Trigger Property="IsKeyboardFocusWithin" Value="True">
							<Setter Property="BorderBrush" Value="{StaticResource SearchTextBox_BorderMouseOver}" />
						</Trigger>
						<Trigger Property="HasText" Value="True">
							<Setter Property="Visibility" TargetName="LabelText" Value="Hidden" />
						</Trigger>
						<MultiTrigger>
							<MultiTrigger.Conditions>
								<Condition Property="HasText" Value="True" />
								<Condition Property="SearchMode" Value="Instant" />
							</MultiTrigger.Conditions>
							<Setter Property="Source" TargetName="SearchIcon" Value="pack://application:,,,/Chem4Word.UI;component/Resources/Images/clear.png" />
						</MultiTrigger>
						<MultiTrigger>
							<MultiTrigger.Conditions>
								<Condition Property="IsMouseOver" SourceName="PART_SearchIconBorder" Value="True" />
								<Condition Property="HasText" Value="True" />
							</MultiTrigger.Conditions>
							<Setter Property="BorderBrush" TargetName="PART_SearchIconBorder" Value="{StaticResource SearchTextBox_SearchIconBorder_MouseOver}" />
							<Setter Property="Background" TargetName="PART_SearchIconBorder" Value="{StaticResource SearchTextBox_SearchIconBackground_MouseOver}" />
						</MultiTrigger>
						<MultiTrigger>
							<MultiTrigger.Conditions>
								<Condition Property="IsMouseOver" SourceName="PART_SearchIconBorder" Value="True" />
								<Condition Property="IsMouseLeftButtonDown" Value="True" />
								<Condition Property="HasText" Value="True" />
							</MultiTrigger.Conditions>
							<Setter Property="Padding" TargetName="PART_SearchIconBorder" Value="2,0,0,0" />
							<Setter Property="BorderBrush" TargetName="PART_SearchIconBorder" Value="{StaticResource SearchTextBox_SearchIconBorder_MouseOver}" />
							<Setter Property="Background" TargetName="PART_SearchIconBorder" Value="{StaticResource SearchTextBox_SearchIconBackground_MouseOver}" />
						</MultiTrigger>
					</ControlTemplate.Triggers>
				</ControlTemplate>
			</Setter.Value>
		</Setter>
	</Style>
</ResourceDictionary>